#ifndef NMC_EMPTYTILE_HPP
#define NMC_EMPTYTILE_HPP

#include "tile/tile.hpp"

namespace nmc
{
	/**
	 * Represents a void tile, that is a non collidable tile.
	 */
	class EmptyTile: public Tile
	{
	public:
		EmptyTile(const Point& tileMapPosition, TileMap* tileMap);
		void stickToFloor(Actor* actor, Point& velocity);
		void resolveCollision(Actor* actor, Point& velocity);
		bool isStandingOnFloor(Actor* actor);
		void calculateSolidity(TileMap* tileMap);
		void draw(Graphics* graphics);
		void drawType(Graphics* graphics);
		void drawSolidity(Graphics* graphics);
	private:
		bool mLeftEndOfSlope;
        bool mSlopingLeftTilePusher;
	};
}

#endif